1. Field of the Invention
Embodiments of the present invention relate generally to computer systems. More particularly, embodiments of the present invention relate to an assembly and method for balancing processors across hardware-based server partitions using spare processors. More particularly further, embodiments of the present invention relate to an assembly and method for dynamically reconfiguring a partitioned server by migrating one or more processors across hardware-based partitions in a partitioned server.
2. Description of the Background Art
Modern server architectures support hardware-based partitioning (e.g., see Sun's Ultra Enterprise Dynamic Domains, and HP's nPARs in Superdome, by way of example only). A partitioned server runs an independent copy of the operating system and applications on each partition, thus creating multiple operating environments on a single system. The benefits of hardware-based partitioning are: (i) increased system utilization; (ii) electrical isolation of partitions; (iii) ability to perform online upgrades on a partition without impacting other partitions; and (iv) the ability to resize partitions to meet workload demands over time. The architecture of partitioned servers is usually modular, with a “cell” or module comprising processors, memory and I/O, being the building block for partitions. A partition typically includes one or more cells working together and running a single copy of an operating system, and providing the user of that partition a shared-memory multiprocessor environment. Some implementations allow the addition, deletion and relocation of partitions without rebooting the operating system running on the affected partitions. Other implementations require a partition reboot whenever the number of cells in the partition changes.
One limitation with hardware-based partitioning is that the unit of allocation, the cell, can be significantly “heavy” in terms of granularity, and dynamic cell allocation to meet spikes in demand is too coarse an operation to be useful without causing major application performance shifts. A cell as indicated normally consists of one or more processors, memory and I/O modules. Because a cell represents a significant aggregate of computer power, migrating a cell from a partition to another is not an operation that can be performed frequently because (i) the cell might contain more resources than necessary; even if only one processor (e.g., CPU) needs to be migrated, a cell will migrate several processors; and (ii) the cost of performing cell migration is too large for it to be done automatically under software control.
Recently, server vendors have introduced the concept of capacity on demand, encompassing a number of technical and financial approaches to provide more flexibility in how server capacity is made available to users. Hewlett Packard, for example, has introduced Instant Capacity on Demand (“iCOD”), a solution that allows the customer to take possession of an HP enterprise server and pay for additional CPU resources when they are activated. This option is appropriate when the customer anticipates high demand growth, and can not predict when this demand will be needed, but must have instant access to the computer resource(s) when needed. In order to implement iCOD, servers including partitioned servers, must be shipped with more CPUs than the customer had paid for. An agent makes it possible to activate those reserve CPUs when they are needed, and facilitates auditing.
Current dynamic reconfiguration solutions for hardware-based solutions require the relocation of entire building blocks, modules or cells across partitions. This operation is complex and difficult to frequently perform. The granularity of the resources associated with any particular cell is too coarse for frequent rebalancing.
It would be desirable to have an iCOD processor which can be automatically activated in one partition at the same time another iCOD processor is automatically deactivated in another partition. The simultaneous activation and deactivation of processors results in a net zero increase of processor power, hence a net zero increase in processor cost to the owner of the server. The effect is equivalent to migrating a processor from one hardware partition to another. It would be further desirable to have an assembly and method for load-balancing partitions by virtually moving processors across partitions in a partitioned server using iCOD technology.